Personal Taste Assessment Method and System

ABSTRACT

A personal taste assessment system recommends a consumable or other item. The system develops a preference model for the representing associations between a person&#39;s ratings of items and a set of item characteristics. The system uses the preference model and an item database that contains characteristic values for a group of items to identify a candidate item having characteristics that correspond to traits that the person found to be appealing. The system then causes an electronic device to output an identification of the candidate item.

RELATED APPLICATIONS AND CLAIMS OF PRIORITY

This patent document claims priority to, and is a continuation of: (1)U.S. patent application Ser. No. 14/701,974 (U.S. Pat. No. 10,460,246),filed May 1, 2015, which claims priority to and is a continuation of (2)U.S. Pat. No. 9,026,484, filed Apr. 25, 2014, which in turn claimspriority to (3) U.S. Pat. No. 8,751,429, filed Jun. 4, 2013, which inturn claims priority to: (4A) U.S. Provisional Patent Application No.61/669,329 filed Jul. 9, 2012; (4B) U.S. Provisional Patent ApplicationNo. 61/764,623 filed Feb. 14, 2013; and (4C) U.S. Provisional PatentApplication No. 61/781,792 filed Mar. 14, 2013. The disclosures of eachpriority document listed above are fully incorporated into this documentby reference.

BACKGROUND

This document describes methods and systems for determining the driversof consumer preferences for items, such as beverages and otherconsumable items.

Currently, many systems are available to recommend products toconsumers. Such systems may include a consumer profile that includesdata representing items that the consumer previously purchased and/orrated. While these systems use past purchase data or ratings to identifyother items that the consumer may enjoy, the recommended items generallybear a direct relationship to the consumer's previously purchased orrated items. For example, in the context of wine, a system may learnthat a consumer enjoyed a particular California Pinot Noir. If so, itmay recommend other California Pinot Noirs, or other wines from the samevineyard as the rated wine, to the consumer.

However, current systems lack the ability to truly assess whether theuser is likely to enjoy the recommended item. Nor do such systems have adesired level of ability to find and recommend apparently unrelateditems that the consumer is likely to enjoy.

This document describes methods and systems directed to solving at leastsome of the problems described above, and/or additional problems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is block diagram illustrating various elements of a personaltaste assessment system.

FIG. 2 is a flowchart illustrating steps that may be performed by ataste assessment system.

FIG. 3 is an example of a user taste profile report.

FIG. 4 illustrates an example of a user interface for providingrecommendations.

FIG. 5 is a graphic illustration of a trending type of contrastingpreference.

FIG. 6 is a graphic illustration of a focal type of contrastingpreference.

FIG. 7 illustrates an example of a class hierarchy.

FIG. 8 illustrates contrasting associations between ratings and itemtraits with a qualitative data type.

FIG. 9 shows an example of data indicating a focal contrastingpreference based on two traits.

FIG. 10 is a hierarchy of classes illustrating a user's preference ofvarious classes of items

FIG. 11 is an example of a user interface for obtaining recommendations.

FIG. 12 is a block diagram of internal computer hardware that may beused to contain or implement program instructions according to anembodiment.

SUMMARY

In an embodiment, a system that includes one or more processors,non-transitory computer-readable memories, and programming instructionsimplements a method of predicting a person's preference for an item. Thesystem may access a user profile for a person. The user profile willinclude a preference model representing associations between theperson's ratings of items and a set of item characteristics. The systemwill also access a database of characteristic values for a group ofitems, use the identifying information to identify a candidate itemhaving characteristic values whose properties match characteristicsassociated with the rated items that the person found to be appealing,and process the characteristic values of the candidate item with theuser profile to generate a predicted rating as a prediction of how theperson would rate the identified candidate item. The system may thencause an electronic device to output an identification of the candidateitem and the predicted rating.

Optionally, when using the identifying information to identify acandidate item, the system may constrain the plurality of candidateitems to those having characteristics that satisfy a user-suppliedcriterion, or to those having characteristics that satisfy a situationalcriterion (such as inventory at a retailer).

In various embodiments, each of the candidate items may be a consumableitem. The characteristic values of the identified candidate item mayinclude values of traits that are associated with at least one of thefollowing senses: taste, smell or touch. The characteristic values ofthe identified candidate item also may correspond to one or moreindicators of preference in the preference model; and if so then whengenerating the predicted rating the system may enter values of theretrieved characteristics of the identified candidate item into thepreference model and return a result of the preference model as theprediction.

Optionally, when processing the retrieved characteristics with the userprofile to generate the predicted rating, the system may analyzedependency patterns in the preference model of the user profile; and usethe dependency patterns to generate the predicted rating. When analyzingthe dependency patterns, the system may analyze consistent patterns ofdependency in the preference model, identify a representative ratingbased on the consistent patterns, and use the representative rating asthe predicted rating. Alternatively, when analyzing the dependencypatterns the system may analyze contrasting or polarizing patterns ofdependency in the preference model, process values of characteristics ofthe identified candidate item in the preference model having contrastingor polarizing patterns of dependency to yield a result, and use theresult as the predicted rating.

Optionally, when processing the retrieved characteristics with the userprofile to generate the predicted rating, the system may determine thatno preference model in the user profile can be matched with, or isreflective of, the characteristics of the identified candidate item. Ifso, it may generate an inconclusive result as the predicted rating.

DETAILED DESCRIPTION

This disclosure is not limited to the particular systems, devices andmethods described, as these may vary. The terminology used in thedescription is for the purpose of describing the particular versions orembodiments only, and is not intended to limit the scope.

As used in this document, the singular forms “a,” “an,” and “the”include plural references unless the context clearly dictates otherwise.Unless defined otherwise, all technical and scientific terms used hereinhave the same meanings as commonly understood by one of ordinary skillin the art. As used in this document, the term “comprising” means“including, but not limited to.”

For the purposes of this application, a “computing device” or“electronic device” refers to a computer or other machine having aprocessor and tangible, processor-readable memory that implement one ormore operations according to one or more programming instructions.Various possible elements of a computing device are described inreference to FIG. 12.

“Electronic communication” refers to any form of electronic sharing ofdata and/or instructions, including physically connected or wirelesscommunication, as well as communication that is direct or indirect viaone or more networks.

In this document, the phrase “consumable item” is used to refer to anyitem that a consumer uses and, during use, experiences at least in partvia the consumer's senses of taste, smell or touch. For example,consumable items may include food or beverage items such as wines,spirits, beers, cheeses, tobacco products and the like. Although theexamples below often are described in the context of wine, otherconsumable items may be associated with the methods and systemsdescribed below.

Although the examples below describe the invention in the context ofwine, the invention is not limited to use in connection with items thatmust be literally ingested by the user. Applications of the inventionmay include any consumable item that includes sensory traits (and insome embodiments, items that the consumer may taste, smell, ortouch—optionally in addition to see and/or hear) for which whoseimmediate perception is the source of utility to the user and/or formsthe basis for the user's preferences for the items, e.g. perfumes,colognes and clothing.

The current state of the art preference profiles, such as those that maybe associated with recommendation systems, describe or identify theitems that are appealing to a user, i.e. “what” the user prefers.Various methods and systems in this document may create a preferenceprofile that describes the configurations of a user's preference, i.e.“how” the user prefers. This type of preference profile provides thebasis for a more complete description of a user's preferences and a moregeneral approach to identifying items for them to sample.

The system takes in a user's ratings of consumable items whoseproperties are known to the system, along with optional rating contextdata, to generate their preference profile and use it to recommend orsuggest items for the user to try, predict the appeal of untried itemsor report a readable profile.

While preference profiles are almost always described in the context ofrecommendation systems, such systems need not generate a preferenceprofile or furnish one to the user in order to properly function. Thisis because, in the current state of art, it is not necessary to generatean explicit preference profile in order to predict items that may beappealing to the user. In some current systems the user's preferencesare implicitly captured by mathematical functions and parameters whoseidentity and values offer no direct insight to a user's preferences. Incases where a profile can be obtained it typically comes as a list ofthe items that are known to have or are predicted to have a particularappeal to the user. This is because the current state of the art worksby learning how to associate item names or other item identifiers withtheir ratings. Thus, when they are available, preference profiles tellus only “what” items a user prefers.

The discussion below addresses at least some of these issues byfurnishing users with a comprehensive description of their preferences.While it can be useful to learn “what” items a user prefers, the systemdescribed below more powerfully learns “how” one prefers items, as willbe described below.

When performing a recommendation function the system may operate at thebehest of the user to identify items, typically ones not yet rated bythe user, but which the system predicts will have a specific degree ofappeal to the user. Typically, but not necessarily, this may be apositive appeal. When performing a suggestion function the system mayidentify items that, when sampled by the user, are predicted to improvethe quality of the preference profile. When predicting the appeal of anuntried item, the system may use the preference profile to extrapolatethe user's rating for that item.

The preference profiles generated by the methods and systems describedbelow address “how” one prefers items and are different from the currentstate of the art that describes “what” items are preferred. To do this,the system may: (i) obtain descriptions of the items for which the userhas a definable preference; (ii) discover what about an item drives thatpreference; and (iii) determine a shape, such as a representation oftrends and attributes, of the preference. One methodological differencebetween the two approaches to obtaining profiles can be brieflysummarized by noting that the current state of the art does it merely byassociating item descriptions with item ratings. In contrast, thepreference profiles described below are obtained by associating itemdescriptions, and optionally user context data, with patterns of itemratings. Another difference is that the preference profiles describedbelow can be reported with varying degrees of specificity. This may bedone, for example, by separately analyzing various subsets of items andthe association of their descriptions with rating patterns.

The methods and systems described below are useful to construct apreference profile, to recommend and suggest items, and to predict auser's preference for unrated items. Data may be supplied by the user,or resident in the system. The user of the system will provide the dataneeded to identify items that the user has sampled, along with theuser's ratings for those items. The user may also supply informationabout the context of his or her experience of those items. The systemwill have at its disposal information about the properties of the items.Additionally, the system may transform this data and/or supplement itwith data computed from it. This data can be in the form of item traitsor item attributes, depending upon the nature of information beingportrayed.

The system processes the provided information in a series of steps.First, a portion of the items rated by the user is selected foranalysis. Then, the process of preference model discovery or updatingoccurs on the basis of the selected items. The model discovery processitself may be done by first partitioning the rated items into varioussubsets, then analyzing these item subsets and finally assemblingpreference models from the results of the analysis. An early step in theprocess, item partitioning, allows the system to determine which typesof items and under what circumstances the user has manifested apreference. In a next step in the process, analysis, the associationbetween item information, and optionally user data, and patterns ofratings are computed. It is here that the shape of the user's preferencefor a subset of items may be determined, as well as the characteristicsof the item and context responsible for driving that preference. Atleast three types of rating patterns may be considered: contrasting,polarizing and consistent. A next step is to assemble a series ofpreference profiles from the preference models discovered in theprevious step. These preference profiles portray descriptions of “how”the user prefers the items. These assembled preference profiles can beused to support the recommendation and suggestion operations, theprediction function or may be translated into human readable prosepreference descriptions and reported to the user. Since some suggestionsare owed to the lack of a preference profile, this function may also besupported by preference model data.

FIG. 1 illustrates certain functional elements that may be included in apersonal taste assessment system. An electronic device 10 containing aprocessor, programming instructions, a tangible computer-readablememory, and a user interface 12 may implement any of all of the system'sfunctions. The electronic device 10 may be, for example, a smartphone(as shown), a computing device such as a personal computer, a laptop ortablet computer, a television set, a gaming device, or any other devicehaving the elements described above. The user interface 12 may includeelements for user output, such as a display or audio output. The userinterface 12 also may include elements for input, such as a keypad,microphone or camera. Optionally, two or more of these elements may becombined, as in a touch-screen display which provides both input andoutput functions. In addition, the system may be distributed acrossmultiple devices, processors and/or computer-readable memory devices.

The electronic device 10 may be in communication with an item database20 containing trait values about numerous consumable items that arecandidates for inclusion in the user's preference profile for rating bythe user, or for recommending to the user. In some embodiments, theitems in the database may be curated, that is, selected by one or moreprofessionals having experience in the field of the items. Some or allof the trait values may be assigned by the curators. Although FIG. 1illustrates the item database as including wine data, it may includedata for other items that may be perceived or chemically or tactilelysensed by a human, such as wines, spirits, cheeses, baked goods, frozenfoods, pre-made entrees, restaurant dishes and other consumable items.Alternatively, the database may include trait values for items that areperceived through the sense of touch or smell, such as clothing,cosmetics and perfumes. Although some items also may be perceived by thesenses of sight and/or hearing, for this purpose of this disclosure atrait must be associated with at least one of the following senses:taste, smell and touch. For the purpose of this discussion, a consumableitem database, and in particular wine data, will be used as examples.

The electronic device also may be in communication with a memory onwhich is stored a set of consumer preference data including item ratingsand preference profiles 30, which are described in more detail below.The item database 20 and consumer preference database 30 may be storedin the electronic device's memory. Alternatively, the databases may bestored on an external memory, as in a cloud storage application, and thedevice may access the data via a communications network such as a mobilephone network or the Internet.

The databases may directly communicate with the electronic device 10, ora remote processor 40 may communicate with the database and send data toand from the device. Any of the steps described in this document may beperformed by the remote processor 40, the electronic device 10, or acombination of those and other processing devices. Thus, references inthis document to “a processor” may include a single processor, a groupof processors, or any processor within a group of processors unless thecontext clearly states otherwise.

The item database may be a curated database of characteristics of theitems that may allow the system to serve as a surrogate for a humanexpert. In some embodiments, the database may include traits and/orattributes, each of which are described below.

Traits are item properties that are subjectively observed or detected bya human's chemical senses (taste or smell) or sense of touch or sight,or a combination of such senses. Traits relate to the sensoryperceptions they elicit, and may include aspects of taste, texture,flavor, aroma, perceived sensory similarity or physical appearance. Forexample, a wine may perceptually portray itself with the traits of beingruby red and fruit-forward, with vanilla notes and tasting like atypical California Cabernet Sauvignon. Trait values are meant to capturethe portrayal of an item's perceptual properties in a manner thatpermits their systematic analysis. To do this a trait will have anassociated value which may be: (i) a quantitative measure such asrepresented by a numeric or ordinal data type (e.g., a number on aninterval scale, such as 1 to 5 or a grade, such as Low, Medium, High);(ii) a value that may indicate status or membership such as acategorical indicator, exclusive or non-exclusive (e.g., in the case ofan exclusive binary situation, 1 or 0 or in the case of a non-exclusiveternary indicator, strawberry and vanilla but not citrus); (iii) classindicators consisting of a categorical indicator of class membership anda quantitative measure of membership strength. Examples of categorical,quantitative and class trait names in the context of wine are VanillaFlavor, Fruit Intensity and Napa Cabernet Style respectively. In otherembodiments the traits may not have unique associated values but insteadhave a range of values. Traits of the same name may also have multipleforms of associated values such as a numeric and ordinal representationof a quantitative aspect of a trait.

Attributes are characteristics that are fixed and do not change in anypart based on sensory experience, i.e., they are independent of sensoryexperience. For example, in the case of wine, attributes can be grape,geographic place or region of origin, climate descriptor, vintage andthe like. As with traits, attribute values can be represented byquantitative measures, by indicators of category membership or byclasses.

The determination of what item characteristic constitutes a trait versusan attribute turns solely on what that characteristic portrays and noton how a value for it is obtained. If a characteristic portrays in anypart how an item tastes, smells, feels, looks or sounds then thatcharacteristic is a trait. Thus, even if the intensity of a wine's fruitexpression was computed as a function of the wine's attributes, e.g.grape composition, terroir, climate and wine making methods, such avalue would be ascribable to a trait. Also in cases wherein auxiliaryitem characteristics are computed (see later description), any suchcharacteristics would be considered traits if data derived from asensory experience entered into the computation. This is because, asdefined above, such a characteristic would not be independent of asensory experience.

Classes are a data type that can be used to portray relatedness amongitems. This relatedness may be captured by elaborating classes into atree-like hierarchy. For example, a set of classes formed by a country'sboroughs, cities, counties and states can be used to portray thegeographic relatedness among the residents of a country. Residents inone borough are related to residents in another borough by virtue of allbeing residents of the same city. Residents of a city and non-cityresidents of a county are all related by the fact that they are allresidents of the same county. Next, all county residents are relatedthrough their mutual residency in the same state and all state residentsare related to each other because they all reside in the same country.The boroughs form the base classes of such a geographic hierarchy andthe higher levels of this hierarchy are formed by compounding togetherrelated lower level classes. The class formed by all residents of thecountry constitutes the apex of the hierarchy. Such a tree-likehierarchy of classes may be used to portray the patterns of relatedness,for example as defined by perceptual similarity, among items. Ahierarchy of classes may also be used to capture non-perceptual aspectsof item relatedness by virtue of their non-sensory properties.

In this document, the item traits and attributes collectively may bereferenced as characteristics. Throughout the document the “and/or”enumeration of these item characteristics is used to indicate thatwhatever is being described is applicable to any or all combinations ofitem trait and attribute values. Sometimes, for brevity, the term itemcharacteristics may be used, and in such cases it is to be understood torefer to any and all combinations of the aforementioned item properties.When, due to inadvertent omission, some but not all of the types of itemcharacteristics are referenced, it can be assumed that whatever is underdiscussion is applicable to all types of item characteristics if theirabsence lessens the applicability of the described process.

In some embodiments, the traits may be provided by an expert in thefield of the relevant items, such as a sommelier in embodiments thatinvolve wines. Traits may have a binary value (e.g., detected or not,present or absent), while others may have an intensity measure (e.g., ona scale of 1 to 5). For example, wine tastes and textures may becaptured by quantitative data types that provide a numeric measure on afixed scale that relates to the degree of expression of a particulartrait. The wine flavors may be captured by binary forms of categoricalvariables that show whether or not a particular flavor is deemed to bepresent in the wine. For example, the flavor vanilla may either bedetected or not. Wine styles may be captured by a class data type whichitself, is a combination of a quantitative and a categorical variable.In a class, a categorical data type is used to indicate membership in agiven class and a quantitative data type is used to indicate thestrength of class membership, e.g. on a scale from 0 to 1. For example,given a set of perceptual wine styles classes, e.g. California Cabernet,Napa Cabernet and Sonoma Cabernet, a red wine may be indicated to havemembership in the California Cabernet and Napa Cabernet classes withmembership strengths of 1.0 and 0.8 that, respectively, indicate thedegree of taste similarity between the wine and the tastes that thestyle classes typify. The associated values of any or all of the sensorytraits may be objectively determined by one or more experts, such asmembers of a human tasting panel.

Some traits also may have one or more corresponding non-sensoryrepresentations, i.e. attributes, reflecting a characteristic that isalso perceivable by the human expert. For example, a wine's alcohollevel may have an attribute value in terms of percent by volume, eitheras determined analytically, as reported or as estimated by a wine experttasting the wine. However, the database also may capture a measure ofhow much alcohol is actually perceived by the human expert. This isbecause the perception of alcohol can be affected by other taste,texture and flavor traits of the wine. Thus, the embodiments describedin this document enable the system to create a profile and makerecommendations based on perception of traits such as taste, texture orflavor, rather than merely on an actual objective degree of expressionof those traits. Note that in cases where such perception may beapproximated from the values of attributes, the result is still arepresentation of a trait value even if it was not derived from traitvalues. This is because the property of being a trait is lodged in whatis being portrayed and not in how a value is assigned to it. In someembodiments, certain characteristics may be excluded from the database,or they may be captured in the database but not used in the methodsdescribed. For example, characteristics such as aromas, expected retailprice, country of origin or other characteristics may or may not beconsidered.

Before values can be attached to class data types, the classesthemselves must be defined. As described earlier, the elaboration ofclasses into a hierarchy may be used to capture information about therelatedness of items. The approach used in this embodiment was to takerelatedness to mean the similarity between classes. In the case of wineclass traits for example, a wine class trait hierarchy may be created byassembling a set of base classes representing all of the important,perceptually distinct styles of wines. These base classes and theirperceptual properties may be determined a priori by a wine expert.Higher level classes may then be assembled by combining groups of thewine style base classes in accordance with their mutual perceptualsimilarity to each other and mutual perceptual dissimilarity to the restof the base classes. This resulting set of higher level classes may becalled wine style families. The wine style family classes may becombined into further higher level classes, that may be called winestyle family groups, on the basis of their mutual perceptual similaritywith each other and dissimilarity to the rest of the wine stylefamilies. Alternatively, a wine class trait hierarchy may be created byclustering together a set of given base classes on the basis ofnumerical computations of pairwise class similarity. For example, if thebase classes are assigned quantitative and categorical trait values thena variety of methods may be used to compute pairwise class similarity.In one such method, these trait values may be treated as distances alongorthogonal directions in an abstract vector space and the dissimilaritybetween classes taken as proportional to their separation in that space.Using such an approach a clustering algorithm may be used toprogressively combine pairs similar classes, starting with the baseclasses, into a hierarchy of classes. A higher level class is formedwith each combination of classes that comprise the hierarchy.

For example, FIG. 7 shows an example of a class hierarchy built byclustering wine style base classes. The left part of this illustrationshows the outline of the red wine class hierarchy that was built on aset of 15 wine style base classes. The vertical line segments in thisdiagram connect together classes. The rightmost lines in the diagramindicate the next to the lowest classes formed by connecting pairs ofbase classes. The formation of intermediate level classes can be tracedout by following the pairwise connections of lower classes linked by thevertical lines. The right part of the illustration provides informationabout the traits and attributes that were associated with each winestyle base class. The attributes are: the grape composition category andcountry of origin. The quantitative traits are rendered as miniature bargraphs: fruit intensity (FI), mineral intensity (MI), body (B), acidity(Ac), oak intensity (OI) and tannin intensity (TI). The indicatedcategorical traits are listed in the Flavors section and include thefruit (Red or Black) and various other flavors. For illustrativepurposes the base classes were explicitly combined into four higherlevel classes the divisions of which are indicate by the dottedhorizontal lines. The similarity of base class traits and attributeswithin each of these high level classes is readily apparent as are theirdissimilarities across these classes.

In general the assignments of items to classes and the determination ofthe strength of that assignment, here taken as similarity, may be made:(i) by human experts; (ii) computed on the basis of the item'sproperties; or (iii) obtained from semantic similarity analysis ofwritten material about the item, e.g. an item's written description,review or bibliographic data, or (iv) a combination of preceding. Theprevious paragraph described one method for determining pairwise itemsimilarity on the basis of item properties, e.g. taking the item traitsand/or attributes as vector values in an abstract space. Anothersystematic method deduces the similarity relationships among items vialink analysis or via graph relations such as may be done to process theconnections among items such as web pages or documents into measures ofsimilarity. Where such systematic methods fail to produce the desiredcharacter of similarity, human judgment can be used to generate all ofthe required class assignments and similarity measures. For example,experts can manipulate tokens representing items in a one-, two- orthree-dimensional space such that the separation between those tokens isrepresentative of their dissimilarity. In general, assignment of itemsto classes may be made for items having sufficient similarity to theclasses.

The consumer preference database 30 may include identifiers for itemsthat a consumer has perceived, the consumer's ratings for those items,contextual information and extant preference profiles. The ratings andcontextual information will be described in more detail below.

Any or all of the steps described below may be implemented by theelectronic device as the device's processor executes programminginstructions that are stored in the device's memory. For example, theelectronic device may be programmed with a software application thatperforms any or all of the functions described below.

FIG. 2 is a flow diagram that illustrates a method of assessing aperson's personal taste for consumable items, for obtaining itemsuggestions and recommendations, and for obtaining rating predictions,which may be implemented by a system such as that shown in FIG. 1. Thesystem may maintain, or it may access via one or more communicationsnetworks, a database of items 101 that may be rated, such as consumableitems. Each item in the database is associated with one or more sensorytraits and optionally with one or more attributes. The system maypresent the user with a user interface through which the system willreceive a person's rating for one or more of the items 103 that theperson has perceived. The rating may include an ordered rating such as anumber from 1 to 5; a grade such as A, B, C or D, or a descriptor suchas “love it”, “like it”, “it's OK” (or “so-so”), or “don't like it.” Insome embodiments, the rating may be a single response, such as thoselisted in the previous sentence. Optionally, the rating context mayinclude responses to one or more questions about the environment that inwhich the person experienced the wine, such as “dinner out,” “at afriend's home,” “home with family,” “free,” “celebration,” etc. or mayinclude information generated by the system from geotag informationreceived from the input device, such as GPS coordinates. In variousembodiments, the context may include a date on which the consumer ratedthe item or on which the system received the consumer's rating. Thesystem may access the item database to retrieve values for the sensorytraits that are associated with the perceived items 105. The system alsomay retrieve the attributes for each of the perceived items 107. Forexample, in the context of wine, the attributes of these wines may beany or all of color, grape(s), style, growing region, or year.Optionally, in addition to the wine characteristics already in thedatabase, selected traits and/or attributes may be contingently combinedto form additional auxiliary traits, attributes or classes. Theassociation of items and traits with items will be maintained in theitem database (e.g., the wine data database 10 of FIG. 1). The systemmay select a portion of the perceived items for use in profileconstruction on the basis of the item traits and/or attributes and/orrating contexts 111. For example, the system may select only red wineitems in order to develop a profile for red wines or for red winesconsumed for vacation rating contexts in order to develop a profile forred wines consumed in a light hearted setting.

The system will partition the selected items into a variety of subsetsbased on item traits and/or attributes and/or rating context data 113.This partitioning permits the system to develop preference descriptionshaving a range of specificities, i.e. with what particular combinationof types of items and context was the preference manifested. The systemwill analyze the person's rating data in each item subset created by thepartitioning process. It will identify one or more patterns ofdependency 115 between the user-assigned ratings of the items in thesubset and one or more traits and/or attributes and/or rating contextsof the rated items. Note that the “user” may be the person who rated theitems, or it may be someone who is accessing the system with userinformation, such as a sales representative or restaurant employee.

The system will determine one or more preference models for the userusing the subsets of items created by the hierarchical partition process117. Suitable preference models are discovered on the basis of theirability to support various types of associations between the ratings ofthe selected items and their item characteristics and/or context data. Apreference model comprises a function, such as a regression function,that portrays a specific form of a systematic dependence between itemsratings and the item traits and/or attributes and/or their ratingcontext. A systematic dependence may take the form of trending, focal,polarizing and/or consistent patterns of rating dependence. In thepresent embodiments these patterns of systematic dependence may includea trending contrasting type, a focal contrasting type, a consistent typeand a polarizing type as described below.

In addition to the identity of the rating pattern, the model includesperformance metrics that describe the degree to which these associationsare supported by each item subset and other metrics that describe otheraspects of that association specific to that model. Each model also hasassociated with it the values of their item characteristics and/orcontext data that determined the inclusion of the items into theanalyzed subset. The model also may include the identity of the itemcharacteristics and/or rating context data supporting the associationbetween it and the pattern of ratings.

Suitable preference models are may be discovered on the basis of theirability to almost support various types of associations between theratings of the selected items and their item characteristics and/orcontext data. In some cases it may be determined that such anassociation may be supported if additional ratings of specificallycharacterized items are obtained. Identifying such preference models mayform the basis for suggesting additional items for the user to rate.Thus, preference model identification may encompass extant and/orpotential (latent) patterns of dependence.

A preference profile is developed for one or more consumers on the basisof those preference models whose performance metrics indicate that theitem characteristics and/or context data support a rating dependencypattern 119. The preference profile may be a collection of preferenceprofiles and also all of the assembled preference models. Each profileis compiled to convey preference to a given degree of specificity andcompleteness. This may be done by combining preference models in variousways and measuring, among other things, the specificity, multiplicity,completeness, uniqueness, consequentiality and informativeness of thepreference description represented by the assemblage. These measures,described later in this text, capture various qualities of thepreference profile description that are of importance to the user.Collectively they determine its salience. These encoded representationsof the user's preference may be stored in the consumer preferencedatabase 30 for further use along with all of the preference models.

Several things can be done with the preference profile developed by thissystem or, equivalently, an earlier developed profile retrieved from theconsumer preference database 30. The system may present information froma user's profile in a human readable preference profile report 121, suchas in a document, electronic file or user interface screen, and/or itmay use the profile to generate suggestions 127 or recommendations 131for the person or make predictions of item appeal 143. Recommendationsare items that the system identifies as being likely to be enjoyed bythe user based on the user's preference profile. If desired however, theuser can request recommendations for items having any given level ofappeal, for example to check to see if their taste for previouslyuninteresting items has changed. Suggestions are items that the systemsuggests that the user sample and rate to help the system build a moreaccurate preference profile.

For example, in one embodiment the system may evaluate the performancemetrics of the assembled preference models and identify those having lowor below acceptable levels. Since these metrics can be diagnostic ofspecific problems it is possible to obtain descriptions, i.e. values fortraits, attributes and/or classes, for items that, when rated, can beexpected to improve the performance metrics 125. The system would thenaccess the item database to retrieve items whose properties match theitem information associated with those items and present them assuggestions 127. For another example, in one embodiment the system mayreview the preference profiles and process their contained preferencemodels to obtain the traits and/or attributes for which the patterns ofpreference in the profile indicate the person would rate such items thehighest, disregard the items characteristics for which the patterns ofpreference in the profile indicate the person would rate such items thelowest. The system would then access the item database to retrieve itemswhose properties match the item characteristics associated withappealing items and present them as recommendations 131. In anotherembodiment the universe of recommendable items is constrained to thosewhose traits and/or attributes satisfy a user-supplied criterion such asuser-supplied parameters (e.g., price), or one or more situationalparameters (e.g., available inventory at a retailer or distributor orpairs with a certain food). Optionally, for a third example, the usermay present an item that the user has not yet evaluated and request anassessment of the item wherein the patterns of preference in the userprofile are used to generate a prediction of the user's rating for theunevaluated item 143.

The preference profile may include information about associationsbetween item characteristics and/or context data and the contrasting,consistent and polarizing patterns of ratings. These patterns describethose traits and/or attributes and/or classes that explain ratings overa range of relatively higher and lower values, or which pin ratings to acircumscribed range of values, or which define a split in the pattern ofpreference. As noted above, some or all of the preference profile may bepresented to the user by displaying, transmitting, printing or saving areport 121. An example of a user interface 300 showing such a report isshown in FIG. 3. As shown, the report is presented as an electronic userinterface and includes a preference section 301 that identifies items orclasses of items and expressions of degrees of preference for eachlisted item or class. The report may also include a profile buildersection 303 that provides the user with suggestions of items to sampleand rate to help improve the quality of the user's profile. When theuser indicates that he or she has sampled or is ready to rate the item,the user interface may present, on the same screen or one or moredifferent screens, a rating field 310 through which the user may inputand the system may receive the user's rating for the item. This profilebuilder function will be described in more detail below. The report alsomay include a profile statistics section 305 describing quantitativemeasurements of the user's profile, such as a number of items rated, anumber of items rated within a particular class, and/or a number ofitems rated that share one or more common attributes. The report alsomay include a characterization of the user's level of experience with aclass or other group of items, such as a percentage or other measure ofthe possible items within a class that the user has sampled.

The report need not include all of the identified preference traitsand/or attributes and/or context data. Instead, the system may determinea subset of salient traits or attributes or context data for inclusionin the preference profile using any possible selection criteria. Thesubset may include a first group of item descriptions and/or contextsunder which the user exhibits a contrasting pattern of preference, and asecond group of item descriptions and/or contexts under which the userexhibits a consistent pattern of preference and a third group of itemdescriptions and/or contexts under which the user exhibits a polarizingpattern of preference.

Returning to FIG. 2, as noted above the system also may recommend 131one or more items that the person has not yet rated. The recommendationsmay be determined based on items that are in the database that have thathave the characteristics consistent with the user's preferences underthe conditions specified by any given contextual criterion. For example,when recommending an item the system may access the person's tasteprofile and retrieve a set of the item characteristics associated with ahigh range of ratings, then access the item database to identify atleast one item having one or more characteristics that correspond to thecharacteristics for which the user has exhibited a positive preference,while omitting those items having characteristics for which the user hasexhibited a negative preference, i.e. low ratings. Optionally, theperson may be permitted to identify characteristics of recommendableitems to further narrow the selection to include or exclude items thathave the identified characteristics. Recommendations may also be madefor previously rated items. For example, the user may request arecommendation for an item that is known to be appealing but which alsosatisfies additional criteria, e.g. price or suitable for pairing with agiven food.

Alternatively, recommendations may also be obtained by first selectingthose candidate items that satisfy any provided criterion for itemcharacteristics, e.g., as described in the previous paragraph above, andthen submitting the items to the rating prediction functionality usedfor predicting ratings. All items whose predicted ratings matches thevalues consistent with the appeal specified for recommendation, e.g.have high ratings, are candidates for presentation to the user. Thechoice of approach, identification as described above or screening itemsby prediction as described here, may have different performancecharacteristics particularly if the item database is very large.

An example of a user interface 400 that provides recommendations isshown in FIG. 4. The interface 400 includes one or more selection fields401 through which the user may enter or select various criteria that therecommended item must satisfy in order for the system to recommend it.The criteria may include, for example, one or more traits, attributes,or other characteristics such as color, price range or maximum price, ortype. The criteria also may include a context such as a food pairing ora type of event. When generating the recommendation, the system mayrequire the recommended item to satisfy all of the criteria, some of thecriteria, at least a baseline set of criteria (such as color and pricerange), or some combination thereof. The user interface may also includea recommendation field 403 through which the system presents the userwith recommendations based on the criteria and the user's profile.

In general, a recommendation system uses data for items rated by a userto identify one or more other items to recommend to the user.Recommendation system performance can be negatively affected by, amongother things, a relative paucity of ratings for, or an inconsistency inthe ratings of, certain types of items or subsets of items. Thus, thepresently-disclosed system may also identify not-yet-rated items that,if rated, are expected to have some utility to the recommendation systemitself. The user may or may not like the items, so the items may notnecessarily be “recommended” for the user, but if the system were toreceive data regarding the user's preference for the items, the systemcould use that data to improve its future recommendations for that user.Here, the identification of items that are of direct utility to thesystem is called “suggesting.”

Thus, when suggesting item(s), the system may proffer an item that willhelp the system improve the user's taste profile. For example, thesystem may assess the user's experience with a particular class or othergroup of items (referred to in this discussion as a category) and makesuggestions for additional tastings that will help the user get moreexperience with items within the category, resolve conflictinginformation about preferences within a category or resolve conflictinginformation about the rating for a particular item. For example, thesystem may assess a user's experience 123 with a category of wines, suchas “Chianti” or “South American Shiraz.” The system will apply anysuitable algorithm to determine an experience score for the user'sexperience level with items of that category, wherein the algorithmincludes variables that include a number of wines (or other items)tasted in the category, along with the relative variety of wines (orother items) tasted within the category. For example, if a user hastasted ten wines within the category, if the wines all have varyingtraits and attributes then the system may assign one point for each wineand give the user an experience score of 10 for that category. However,if eight of the wines tasted are have very similar attributes and/ortraits, may assign a number less than one for the similar wines, or thesystem may assign a maximum total number (e.g., 3) for the similar winesso that the remaining five similar wines are not counted in thecalculation of the user's experience score. The score may be a numericscore or a word-based or graphic descriptor based on a numeric score.For example, a relatively high score may show that the user has“significant” experience a category, while a low score may show that theuser has “little” experience in a category.

Thus, the system may identify items 125 from its database that arewithin the category and suggest 129 that, if tasted and rated, thoseitems will improve the user's experience score for the category. Thesemay include items the user has not yet rated and which have attributesand/or traits that the user has not yet experienced in the user's ratedwines, or which the user has experienced less than other attributesand/or traits as indicated by wines rated by the user. As an example, ifthe user has tasted eight full-bodied, fruit-forward Chiantis but onlyone medium-bodied Chianti, it may suggest 127 a medium-bodied Chianti tothe user. The activities to be carried out in the suggesting process maydepend upon the implementation of the recommendation system. Additionaldetails about a suggestion system will be presented below.

In some embodiments, the system may provide a user with an ability togain more experience with a particular category of item and improvetheir profile with respect to that category by supplementing the data intheir profile for rated items in that category. For example, as shown inFIG. 3, the system's user interface 303 may provide the user with aselectable list or other set of categories. When the user selects acategory from the list, the system may suggest one or more items that,if rated by the user, will improve the user's profile with respect tothat category, or with respect to one or more characteristics of itemswithin the category. The items may be items that will improve the user'sexperience score, as described above.

The system may also identify items within the category having attributesand/or traits for which the user has provided ambiguous ratings. Forexample, ambiguous ratings in the context of model based on a consistentrating pattern would be manifested by a low rating homogeneity. In thecontext of a model based on a contrasting preference, ambiguity would bemanifested by ratings not clustered closely enough around the trendingor focal rating patterns. This ambiguity may be measured a fitnessmetric that portrays how well these ratings fit the user's preferencemodel. In cases where the fitness metric is marginal or below athreshold then having the user rate additional items may improve themodel fitness.

For example, when seeking to fit a consistent pattern of preference to asubset of items, a user could have rated two items as “like” and twoitems as “don't like,” In such a case there would be insufficient ratinghomogeneity to indicate a consistent pattern of preference. However, ifthe fitness metric for this model is near the acceptance threshold, itmay be appropriate to suggest that the user rated one or several itemsthat are of the same category and/or that share a same attribute. Forexample, if the items sampled were atypical, or if the context of theitem experience were atypical, then such cases repeating the itemexperience may reveal a preference that was masked by unusualcircumstances. In the case of a preference model based on a consistentpreference, the system may identify from its database additional itemsto suggest 125, having the same characteristics as the partitioningprocess used to construct the subset of items associated with the item.

More generally, for other types of preference models, as will bedescribed later, other methods can be used to identify other items tosuggest to the user to help resolve the apparent conflict in the user'spreference model. For instance, in the case of a trending ratingdependence pattern, where the fitness metric is degraded by ratings foritems having particular characteristics, then the system would suggestfurther items of the same sort. Additional ratings would resolve thequestion of whether the lack of model fitness was due to atypical in theitem experience or to intrinsic taste of the user.

The system may also recognize a case wherein the ratings for one or moreparticular item(s) appear to be outliers with respect to the predictionsof the item ratings made on the basis of the preference model. Incontrast to the previous example, the preference model having suchoutlying ratings will still have sufficient model fitness to meritinclusion in the preference profile. It may be the case that exclusionof such outlying item ratings is what makes the difference between asufficient confidence in the preference model. However, if theseoutlying ratings represent atypical experiences of the user with theitem, i.e. either an unusual item realization or experience context,then further action can help resolve whether what is being manifested isintentional or accidental preference. The user can be directed tore-experience the outlying items or the experience items to which theyare similar and whose characteristics would merit including them in theitem subset created by the partitioning process. If the new ratings areinconsistent with those of the outlying items then the outlying ratingscan be marked as atypical and eliminated from the preference model.Otherwise, the instance would have to be recognized as an itempreference that the profiling system cannot yet describe.

In some embodiments, the system may recommend 131 items that the user islikely to enjoy. Recommendation processes will be described below. Forexample, the system may receive a request for a recommendation. Therequest may be a specific request submitted by a user. Or it may be anautomated command to provide a recommendation whenever a user performs acertain action, such as accesses the application. The request mayinclude one or more criteria, such desired traits and/or attributes, acontext, or other information that the system may use to generate arecommendation for one of the items in the database.

An example of a user interface showing this is found in FIG. 11, whichshows an example of a user interface 1101 through which a user mayrequest a recommendation. The interface may include a context field 1103in which the user indicates whether it wants a recommendation for theuser him or herself, for another user, or for a group. For example, agroup recommendation made on the basis of profile constructed bymatching and merging the preference models of multiple users. The systemwill access the user's profile, another user's profile, or a groupprofile depending on the user's selection. The interface also mayinclude one or more characteristic fields 1105 where the user mayidentify several criteria that the recommended item must (or ispreferred to) satisfy. Such characteristics may include type and price,for example.

In some embodiments, a personal taste profile system also may contain aprediction functionality—i.e., a process that allows a user to determinewhether the user (or another user) is likely to like a specified item,based on the relevant user's profile data. For example, a user may bepermitted to enter a user identifier 133. The system will use the useridentifier to identify a person whose profile will be used for theprediction function. Optionally, the user can provide a context underwhich the item was, or is to be sampled. Such contextual information maybe relevant to the experience of the item for the situation in which theitem is to be consumed (e.g., food and wine pairings).

The system will then receive identifying information about a specificitem of interest 135. The data may be a serial number, a universalproduct code, a name or other description, scanned barcode data, a photoof a label that is processed using image recognition technology toextract identifying information, or any other data that the system mayuse to identify the item. The system will determine whether data for thespecific item of interest is available in an item database 137. If so,the system may retrieve one or more traits and/or attributes of the item139, process the retrieved characteristics through the relevant user'sprofile 141, and generate and output to the user a predicted rating forthe item based on the process 143. The rating dependency patterns of thepreferences models in the profile determine how the item characteristicsare processed. For consistent patterns the predicted rating is therepresentative rating of the item subset comprising the model. In thecases of the contrasting and polarizing patterns, the values of the itemcharacteristics and context data (if present) are entered into thepreference model, for example as implemented by a regression function,and the result taken as the rating prediction. The performance metricsof the preference model will provide measures of the certainty withwhich the function's value can be taken as indicative of how the userwould rate the item. This metric and optionally others can be used toselect from among the predicted values to present as the predictedrating. When no preference model can be matched to the characteristicsof the item, i.e. this item would not have qualified for inclusion inany of the subsets generated by the partitioning process, then aprediction can not be made and so an inconclusive result can bereturned. An inconclusive result can also occur if the performancemetric(s) of none of the preference models indicate that their resultsare not sufficiently reflective of how the user would have rated theitem.

In an example of using the prediction system for wine, a user may use amobile electronic device to scan a barcode or QR code or capture a photoof the label of a wine. The system may process the barcode data, orextract label data from the photo, using any suitable opticalrecognition technology. When the wine is identified, the system mayaccess a database of curated wines to determine whether the identifiedwine is in the database. If the wine is in the database, the system mayretrieve from the wine database one or more characteristics of the wine.The system would then process these attributes through the user'sprofile as described above. These results are then transmitted to theuser saying that they are likely to like or dislike the wine, as thecase may be. If the results are inconclusive, the system may decline tomake a prediction or report that it had an inconclusive finding.

When selecting a user profile, the system may default to the requestinguser's profile, unless the requesting user requests that the systemaccess another user's profile.

In some embodiments, the system may regenerate a new preference profilefor a user, or it may update an existing profile based on new ratings oritem characteristics.

In some embodiments, for the purposes of obtaining an itemrecommendation or for expanding the user's own profile, the system mayaugment the user's profile with portions of preference profiles from oneor more users. Suitable users may be identified first on the basis oftheir willingness to make their preference profiles available forsharing. Next, an overall similarity score may be computed between thepreference models comprising user's profile and those of the users whomake their profiles available for this purpose. A first step incomputing the similarity score may be identifying which of the user'spreference models match those of each of the cooperating users. This isdone on the basis of the item subset descriptions of the preferencemodels. The system determines whether the user and the cooperating usershare the same preferences for the subset of items in each preferencemodel. In cases where the preference models have matching ratingdependence patterns, this can be done by computing the similarity of themodel parameters.

For example, in the case of a consistent pattern of preference, bymeasuring how closely the representative ratings for the item subsetcompares for each user. In other rating dependence patterns it willdepend primarily on the item characteristics that support the ratingdependence and the direction of that dependence, e.g. increasing ordecreasing ratings as a function of trait intensity and, in the case offocal patterns, the focal zone of item characteristic values. In caseswhere there are different rating dependence patterns for the same subsetof items, then similarity may be computed on the basis of ratingspredicted by the preference models of both users for a set of items.This set of items could be comprised of the union of the items rated bythe user and the cooperating user. The more closely the ratings of theseitems are predicted by the models of both users, the more similar theirpreference for the item subset on which the preference model is based.

A collective preference similarity score may be computed for eachcooperating user and those which satisfy a similarity criterion areconsidered next. Considering only the pool of qualifying cooperatingusers, the system may identify which of the cooperating users'preference models are not present in the profile of the user. As in theprevious step, this may be done on the basis of the item characteristicsthat determined inclusion of items in the subsets comprising thepreference models. The preference models so identified in this processare candidates for either adding to the user's profile or for a basisupon which to make recommendations. Choosing which of these profiles orhow many of them to use will depend upon how the system is implemented.One may choose to use only the candidate preference models from thecooperating user whose preference profile was most similar to the user.Other possibilities include using only those preference models whoseitem subsets are for types of items very similar to, or very differentfrom, the items already rated by the user. However the preference modelsare chosen, the system may add them to the user's preference profile andgenerate an augmented profile for the user. Alternatively, the systemmay add them to the collection of the user's preference models and usethe augmented collection to perform a recommendation function. Thisprocess may then allow the system, and optionally the user, to identifyother users' preference models that are similar to the first user'smodels for a common collection of types of items. The first user maythen assume the cooperating user's preference models for different typesof items for which the first user does not yet have a preference model.This process allows a user to bolster their preference profile with theexperiences of other, more experienced users who also have similarpreferences for the types of items they have in common.

In addition, the system may offer a user the ability to compose a groupof two or more selected users and recommend items that, based on theprofiles for each of the users, are expected to be liked to definabledegrees by each of the users based on a merged profile created from theusers' profiles. As used in the document, an item may be expected to beliked by multiple persons so long as none of the relevant users isexpected to dislike the item. A recommendation for several users mayproceed first matching the item subset descriptions of the preferencemodels from all users in the group. The matching profile models aremerged by inverting the rating dependency functions and identifyingregions of item characteristic values for which various degrees ofrating maximization can be attained for the users comprising the group.This is straightforward in the case of matching preference models basedon the consistent pattern of dependence since no function inversion isrequired. The representative rating associated with the subset of itemsin the preference model of each user can be directly used. If theratings for the group satisfy some social welfare function, e.g. nounappealing ratings or an average appealing rating, then the itemcharacteristics used to form the subset can be used to identifyrecommendable items. In instances where users have no matchingpreference models one may assume a default rating for the item subset,e.g. So-So, but with a zero level of confidence.

Although the examples described below illustrate retrieval of ratings,item characteristics and user rating context data, any or all of thedata points, i.e. item characteristics, ratings or rating context data,may be adjusted, weighted or transformed to replace or supplement thedata before the item selection, pattern identification and preferencemodel discovery or at any other point in the profiling, suggesting,recommending or predicting process. This disclosure is intended to coverall such embodiments. As previously noted, the result of any suchprocedures that incorporates sensorial derived item information, e.g.traits, cannot be considered an attribute because of its dependence onthe perception of the item and so therefore may be taken as a trait.

When determining patterns of dependency, some items in the database maybe given more weight or emphasis than other items in the determination.Similarly, individual traits and/or attributes may be given more weightor emphasis than others. This may be done by a simple multiplier applieddirectly to item characteristic values or rating values, such as bymultiplying each value for the rated items by a weighting factor or byapplying such weights in potentially other manners to values calculatedelsewhere in the analysis methods. The system may use contextinformation to determine how to weigh the relevant item characteristicsor ratings. For, example, when developing a wine taste profile for theconsumer, a wine that the consumer tastes on vacation in the wine'scountry of origin may be perceived differently than a wine tasted athome. In addition, more recent ratings may be given higher weights thanolder ratings. For example, ratings that are more than a thresholdperiod of time old may be assigned a weighting factor of less than 1.0so that they are given less importance in the preference profile thanmore recent ratings are given. This also helps the system adapt thepreference profile to the consumer's changing tastes over time.

Not all of the items rated by the consumer are necessarily passed on tothe next step for processing. One or more criteria, based on certainitem characteristics and/or contexts, may be required before an item isselected, or a context may be used as a gating criterion for whether anitem is considered. For example, in the case of wine, a selectioncriterion may restrict a preference profile to consider only the past 12months of wine ratings. Or a user's preferences for wines consumed forpleasure may be profiled separately from the consumer's preferences forwines consumed in professional entertainment.

The traits for some items in the database may be approximated if theyhave not actually been sensed and/or determined. For example, an expertwho has not actually tasted a wine may enter trait values that theexpert thinks are representative of similar wines. If so, when aconsumer perceives and rates those wines, then when the system builds apreference profile for the consumer those wines may be given lessemphasis than wines for which non-approximated or expert-determinedtrait values are available. This may be done by giving each wine (orother item) a weight, such as a weight between 0 and 1. A weight of 1may indicate that the system's wine experts are fully confident in theircharacterization of the wine. A weight of 0 may indicate no confidence.Weights between 0 and 1 may reflect varying degrees of confidence. Theseweights, or confidence values, may be accessed during the analysis ofconsumer-rated items. The calculations determining the presence of adependence pattern may weigh the contribution of each item in proportionto its weight or confidence value in proportion to a weight assigned tothe type of item information under consideration. Where there is morethan one type of item information being analyzed and where their traitsdiffer, then an overall weight may be determined for that item, such asa mean of the weights, minimum of the weights, or other functions.

In some embodiments, preference model discovery may be carried out inany or all of the following three stages: partitioning, analysis ofdependence patterns and assembly of preference models. Partitioning mayseparate the items into various subsets whose inclusion criteria arebased on item characteristics and/or contextual information. Analysis ofdependence patterns considers each subset of rated items created by thepartitioning process and identifies patterns of dependence indicatingthe different forms of preference. Assembly of preference modelsinvolves identifying the patterns of preference discovered by analysisand appending to them information that further describes the nature ofthe form of preference. This further information may include the itemcharacteristics and/or context data supporting the pattern of ratingdependence, the item characteristics and/or context data that determinewhich items qualify for inclusion in the subset of rated items that wereanalyzed, or the confidence or other metrics and statistical measuresgenerated by the analysis. As described earlier, the first step may beapplied because it will generally be the case that no single preferenceprofile is applicable across all types of items or across allcircumstances in which the items were sampled. Therefore, in addition toanalyzing it in its entirety, the data set may be partitioned intovarious subsets that will be separately analyzed from each other. Thethird step adds the information required by the profile generation tosatisfy criteria such as model certainty and salience.

In some embodiments, the identification of preference models mayconsider one or more subsets of the selected items and determine whichof them exhibit specific patterns of association between theconsumer-assigned ratings and the values of one or more itemcharacteristics and context data. This may be done by partitioning theselected items into various subsets and then analyzing the varioussubsets of the selected wines generated by the partitioning process. Thepoint of partitioning the selected wines is that it is unlikely that asingle description of preference is applicable to all of the itemsperceived by the consumer. It is much more likely that the consumer willhave different preferences for different types of items and/or indifferent circumstances of consumption. By partitioning the wines alongthe lines of the individual traits and/or attributes and/or contexts, wemay find and describe the preferences applicable to each of these typesof wines and circumstances. For example, in the example of wines, theselected wines may be partitioned into four subsets according to theseason of the year in which the wine was tasted. These subsets may againbe partitioned according to the presence and absence of wood flavor inthe wines. The types of items for which the user will exhibit a patternof preference will generally not be known a priori. One approach toensuring that the partitioning process includes such items of preferenceis to create item subsets on the basis of every conceivable combinationof item characteristics and/or context data. A less exhaustive approachentails making assumptions about the types of items for which users willtypically form patterns of preference, an approach requiring expertisein the domain of the items and what drives the preferences for thoseitems.

In some embodiments, determining a pattern of dependency may includeidentifying one or more trending contrasting preferences for the person.Identifying a trending contrasting preference may include: (i)identifying a single item characteristic or a piece of ordinal orcategorical rating context data associated with the ratings and bydetermining that the person's rating trends in concert with the itemcharacteristic or context information; or (ii) identifying two or moreitem characteristics and/or rating context data and by determining thatthe item's rating trends in concert with some combination of intensitiesor values of the multiple sources of information. A rating may beconsidered to be trending if it exhibits a non-reversing upward ornon-reversing downward trend in rating values as a function of the traitvalues.

An example of this for quantitatively valued data is shown in FIG. 5,which shows how a particular person's ratings for wines may increase asthe wines' acid intensity trait increases, while the person'spreference, as reflected by the rating values, may decrease as thewines' fruit intensity trait decreases. This data indicates that theperson has a preference for wines that is driven by two different winetraits. One aspect of preference is driven by a dependence on acidintensity and the other on fruit intensity. This will manifest itself asthe user's preference for wines that exhibit both a high acid intensityand a low fruit intensity and a preference against wines that exhibitboth a low acid intensity and a high fruit intensity. Identifying atrending contrasting preference may also include: (i) identifying asingle categorical or class valued item characteristic or context dataassociated with rated items by determining that the person's ratingtrends in concert with some ordering of the categorical values orclasses; or (ii) identifying two or more item characteristics and/orcontext data associated with rated items by determining that the ratingstrend in concert with some ordering of the Cartesian product of thecategories and/or class values.

In other embodiments, identifying a pattern of dependency may includeidentifying one or more focal contrasting preferences for the user.Identifying a focal contrasting preference may include: (i) identifyingan item characteristic or quantitative or ordinal piece of ratingcontext data associated with a group of rated items for which the ratingset includes both relatively maximal ratings and minimal ratings; (ii)determining that the person's ratings for the group of rated itemsincludes a focal zone of maximal or minimal ratings representingpositive or negative appeal over a circumscribed span of itemcharacteristic or context data values. An example of this is shown inFIG. 6, which shows how a particular person's ratings for wines variedbased on the wines' fruit intensity. Here, the person enjoyed wineshaving either a high or a low fruit intensity, but did not enjoy winesthat were in the middle of the spectrum. Thus, the focal point in themiddle of the spectrum indicates that the user expresses a negativepreference to wines of only moderate fruit intensity, or a preferencefor wines with either high or low (but not moderate) fruit intensity.Identifying a focal contrasting preference may also include (i)identifying one or more item characteristics and/or context dataassociated with a group of rated items for which the rating set includesmaximal and minimal ratings; (ii) determining that the ratings for thegroup of rated items include a focal zone of maximal or minimal valuesfor a convex hull of values in the Cartesian product of the itemcharacteristic and/or context data values. An example of this is shownin FIG. 9 where a closed, central region of values for the Cartesianproduct of the Trait 1 and Trait 2 values encompass of zone of maximalratings.

In some embodiments, determining a pattern of dependency may includeidentifying one or more consistent preference patterns for the person.Identifying a consistent preference pattern may include: (i) determiningthe set of item trait, attribute, and/or rating context data values thatwere used by the partitioning process to identify the subset of itemsbeing considered; (ii) measuring a representative rating for the subsetof items created by the partitioning process; (iii) measuring the extentto which the item ratings are dispersed around the representativerating, i.e. the rating homogeneity; (iv) determining whether the ratinghomogeneity meets the criterion established for finding a consistentpattern of preference.

In some embodiments, determining a pattern of dependency may includeidentifying one or more polarizing preference patterns for the person. Apolarizing preference model indicates that the person clearly exhibits apattern of rating dependence, e.g. contrasting or consistent, for sometrait values to one side of a threshold value, but the person's feelingsabout other values for the trait are either unclear, as the user mayhave given both high and low ratings to items exhibiting that trait atvalues outside of the threshold value, or show a different pattern ofdependence. An example is a person who consistently likes highly acidicwines, but who has an inconsistent range of opinions about low aciditywines.

Analysis Methods.

A goal of the analysis methods described in this document is todetermine whether a given subset of items fits any of the previouslydefined patterns of dependencies between ratings and itemcharacteristics and/or rating context data. In addition, results of theanalysis methods may also provide predictions of the ratings as afunction of item characteristics and/or context data and the verifiedpattern of dependence. Further, the analysis methods may also provide anestimate of the consequentiality of the item characteristic and/orcontext data values supporting the pattern of dependency. This is doneby calculating the cumulative joint empirical probability of those dataover the extremes of their values. The analysis methods may provideother information that may be of use to the preference profile assemblyprocess. Therefore, the following will describe implementations that usewidely understood analysis methods in order to portray how an embodimentmay operate.

Every item subset created by the partitioning process undergoes all ofthe forms of analysis described in the following. These methods seek todiscover how well the item ratings fit the previously defined patternsof dependence. Some of these methods examine the dependence between theitem rating and selected item characteristics and/or context data. Thisdependence may be sought as a function of just one or two elements ofitem and/or context data, although in principle more than two elementsof data may be examined. One reason for seeking rating dependence as afunction of fewer than three elements of data is to preserve theusefulness of the human readable preference description sinceincorporating too many drivers of preference in it may be confusing.Which of the item characteristics and/or context data to consider as adriver of rating dependence will depend upon the nature of the items,how preferences for them are determined and decisions about how toimplement the system. Some choices may be driven by the nature of thedata, e.g. collinearity. In wine for example, one probably would not usethe Body and Alcohol intensity traits when seeking rating dependencebecause these traits may track each other. One may expect to exclude theitem characteristics and/or context data that were used to determine thesubset of items under analysis and the selection of which of the rateditems for which a profile is to be generated. This exclusion is due tothe fact that such data may have constant values.

Contrasting Patterns of Dependence.

Referring again to FIGS. 5 and 6, contrasting preference may bediagnosed here by 1) detecting a non-reversing upward or downward trendin ratings as a function of one or more item characteristics and/orrating context data (trending case) or 2) detecting a peaking or dippingtrend in these variables (focal case). This may be done using a form ofcumulative link model regression called ordered logit regression. (Otherforms of this approach, such as proportional hazards or ordered probit,could be more appropriate for other types of items.) The ordered logitmodel handles situations in which the response variable has an ordinaldata type, e.g. an item rating. The model predictors can havequantitative, ordinal or categorical data types or a mixture of them.This regression method can therefore be more suitable for ourapplication than linear regression because the latter presupposes alinear relationship between the levels of the response variable. Sincethe response variable is a rating, it cannot be assumed that its levelsare linearly related, e.g. that the distance between the middle ratingand the highest rating is the same as that between it and the lowestrating. This regression can also be more suitable for analyzingcategorical data types than using measures of association such asPearson's chi-squared or Fisher's Test because these do not take intoaccount the ordered nature of the ratings.

The following will illustrate a few examples of how the ordered logitregression can be used to detect signs of contrasting preference. Theupper two plots of FIG. 5 give a graphical view of how wine ratings foran archetypical “acid freak” depend on the acidity and fruit intensityof the red wines tasted. The plotted circles show how the wine ratings(plotted vertically) varied as a function of the values of the winetrait (plotted horizontally). A little random jitter was added to thewine trait values so that the circles would not plot over each other.Overall the ratings increased with increasing acidity and decreased withincreasing fruit intensity. The regression analysis sought to interpretthese data as evidence for an upward or downward trend and plotted thepredicted trend as a solid line running through and around the datapoints. The goodness of fit measures for both of these analyses werewithin the acceptable range with acidity being fit better than fruitintensity by two-thirds. Two trending preference models, parametrized bythe regression procedure, were therefore produced indicating anincreasing contrasting preference for acidity and a decreasingcontrasting preference for fruitiness. This stage of analysis also looksfor a pattern of preference as a function of combinations of iteminformation. When the acidity and fruit intensity values were linearlycombined, the regression fit a trending rating dependence pattern twiceas well as when acidity was analyzed alone. The bottom left plot showssymbols representing ratings plotted at positions representing thevalues of the fruit intensity (vertical axis) and acidity (horizontalaxis). The parallel diagonal lines are contours at each rating levelthat divide up this plot into regions that indicate the regression'sprediction of how the user maps combinations of acidity and fruitintensity into ratings. It shows that the ratings increase in theupper-left to lower-right direction, indicating that the user prefershigher acidity while simultaneously lower fruit intensity. The lowerright plot shows a narrower, but more easily interpreted view of theregression results. Here the ratings are plotted versus a linearcombination of the acidity and the fruit intensity. The solid line showsthe rating prediction made by the regression as a function of thiscombination of wine traits and it is a much tighter fit to the data thanthe single trait model.

FIG. 5 portrays an instance of preferences that can be described withdifferent degrees of specificity. A compact, less specific, way ofdescribing the driver of this person's preference is that he or sheprefers high acidity to low acidity. The preference running againstfruit intensity is less accurately defined and so could be a secondaryfinding. A more accurate but less compact, more specific, description ofpreference includes the additional effect of fruit intensity. Ifdesired, both assessments may be made available to the user, and thispresentation may include displaying the assessments in order ofprominence. Since acid intensity and fruit intensity strongly andnegatively co-vary in the sample of wines tasted, it is natural toassume that the preference against fruitiness is driven by the strongerpreference for acidity. However, since there is a stronger preferencemodel fit from the combination of fruit intensity and acid intensity, itsuggests that the fruit intensity is an independent driver of preferenceand carries additional information.

A goal of looking for a trending contrasting pattern of dependence maybe to be able to say that a person's taste runs along with the degree ofexpression and/or presence of particular things about the item itselfand/or the circumstances of the consumer's perception of that item.Informally described, a trending contrasting pattern of dependence is acase where the ratings trend with the monotonic, i.e. single direction,expression of an item characteristic and/or piece of context data.Examples applicable to wine are that the consumer likes more over lesstannin, or likes the presence of woody flavors and dislikes the absenceof those flavors. There can be a case where ratings show a statisticallydetectable increase in preference with increasing tannin intensity,where tannin intensity is a type of item information that has an ordereddata type. It can also be a case where ratings for wines having a woodyflavor are statistically higher than the ratings of those wines thatdon't, where woody flavor is a type of item information that has acategorical data type. It can also be the case where ratings change as afunction of both tannin intensity and the presence of a woody flavor,thus depending multiple types of data.

More formally described, a trending contrasting pattern of dependence ismanifested by a verifiable association between the item ratings and themonotonic progression of the values of item characteristics and/orcontext data, whether there are single or multiple types of informationhaving ordered or categorical data types, or a mixture of both. Suchverification may be made by means of statistical analysis. This patternof dependence may be discovered by finding that the p-value of astatistical analysis falls below a given threshold value. The p-value isthe probability that the pattern of dependence arose by chance.Therefore our confidence in the discovery of a pattern of dependencegoes up as the p-value goes down. Optionally, the system may use a 0.1p-value threshold so that there is a 90% chance that the discoveredpattern of dependence is not spurious.

The portrayal of analyses based on item characteristics having ordinaldata types is very much the same as the above examples usingquantitative data types and so a separate illustration is not provided.The portrayal of categorical item characteristics, while also conductedusing ordered logit regression, differs in character from that usingquantitative or ordinal data. For example FIG. 8 uses bar plots to showthe associations between ratings and the categorical wine traitsdepicting three types of wine flavor, “Brown Spice”, “Herbal Plants” and“Wood,” for a person who rated 32 red wines. The effect of each type offlavor was analyzed separately. The presence and absence of a flavor wascoded as a 1 and 0 respectively and this information, along with thecorresponding ratings, was entered into the regression. The regressionshowed whether there was a statistically significant upward or downwardshift in the ratings as a function of the flavor and also indicated thedirection of dependence. In FIG. 8, three sets of a pair of stacked barcharts show the proportion of the wines receiving each rating for thecases in which a flavor trait was present and for the cases in which itwas absent (the underlying labels show the number of wines for eachcase). The sizes and shadings of the various sub-portions of the barcharts portray the relative proportions of the ratings in each instance.Overall, this person thought that 25 of the 32 wines were good or great(see tally in the legend box) and so there is only a small margin fordetecting preferences. Nevertheless it's possible to notice shifts inratings in the plots according to the presence of flavors and theregressions reported highly statistically significant associationsbetween the presence or absence of these flavors and an upward ordownward shift in ratings.

In FIG. 8, the title above each pair of bar charts shows the preferenceconclusions drawn from these analyses. When Brown Spice was absent therewas an upward shift in the overall pattern of ratings. The table in thelower right corner of FIG. 8 shows that the predominant rating went upfrom Good to Great when this flavor was absent. When Herbal Plant flavorwas present the predominant rating went from somewhere between So-So andGood up to Good. Likewise, when Wood flavor was present the ratingsshifted from predominantly Good to Great. Interestingly, the effect ofeach flavor on the ratings was independent of the other flavors. This isbecause when the regression was performed on pairs of flavors, or on allthree flavors at once, each flavor retained a statistically significantability to shift the pattern of ratings. At the margin, this personprefers wines with Wood and Herbal Plant flavors and without Brown Spiceflavors, both individually and together in various combinations. Thisdriver of preference, however, exerts an important effect, shifting theratings on the order of magnitude of a single step.

In instances where a categorical variable is able to take on more thantwo values, e.g. left/middle/right, a trending form of contrastingpreference may be identified. A non-reversing progression in the ratingsthat is a function of a specific ordering of the categorical valuesindicates a contrasting preference. In practice this form of dependencemay be detected by an ordered logit regression on the categorical valueswherein the estimated coefficients for these trait values arestatistically distinct from each other.

An example of a focal variety of a contrasting preference model, fit fora person tasting white wine, is shown by FIG. 6. Ordered logitregressions look for non-reversing trends, so in order to fit the focalvariety, the data was transformed by assuming a center value for thefruit intensity. Initially the median was chosen. Then the absolutedistances of the fruit values from that center point was fed into theordered logit regression. As a result, the regression saw trait valuesthat increased from the center point and thus a peaking pattern wouldappear as an increasing trend. Conversely, a dipping pattern wouldappear as a decreasing trend. Since the initial guess at the center maynot be the best choice, this center value was also optimized along withthe other parameters of the regression. The best fit circles indicatewhere the ratings fell (vertical axis) as a function of the winefruitiness (horizontal axis). The regression analysis found evidence fora downward dipping pattern of preference and the correspondingpredictions of ratings as a function of fruit intensity for such a modelare traced by the solid line. It passes through nearly all but one ofthe eight plotted points. Because of that one outlying data point thisfit is almost at the outer limit of acceptability. This quality of fitwill be taken into account, such as in later procedures responsible forprose generation. Such a preference model indicates that mid-rangelevels of fruit intensity are preferred much less than lower or higherones. It was earlier shown that a trending preference could be found forthe linear combination of two wine traits. The same can be done insearching for focal contrasting preference models. In such a case thelinear combination of trait values would be formed before theirdistances from a center point are calculated. Fitting such a model wouldindicate that there is a combination of trait values that is preferredor not preferred, somewhere away from the largest and smallest valuesfor that trait combination.

There is another case of a focal variety of contrasting preferenceinvolving two wine traits that is different from the last illustration.FIG. 9 demonstrates this example. In this case ratings, represented byfour different symbols, are plotted at the horizontal and verticalpositions given by the each of the two sets of trait values. The highestratings are clustered at the center of the plot area, the lowest ratingsappear around its periphery and intermediate rating valuesconcentrically fill in the intervening regions. The regression predictedratings at all points in the plot area in a way that best fit the set ofdata. The roughly circular contours enclose the regions predicted tohave each rating value. Given the good quality of fit found here, such adata set would be taken as evidence for a contrasting preference modelof the “bulls-eye” variety. In this case of wine, it indicates thatthere is a preference “sweet spot” for wine traits having a range ofvalues that put it within the innermost contour of high ratings.

One may look for a focal contrasting pattern of dependence in order tobe able to say that a person's preferences are driven along the distancefrom a circumscribed range in the degree of expression of particularitem characteristics and/or its rating context. Informally described, afocal contrasting pattern of dependence may be a case where the ratingsmonotonically trend with distance from a circumscribed range in thevalues portraying the expression of an item characteristics. As anexample, this can be a case where ratings show a verifiable progressionin values with increasing distance from a circumscribed range of tanninintensity values. Such verification may be made by means of statisticalanalysis. Formally described, a focal contrasting pattern of dependencemay be manifested by a statistically detectable association between itemratings and a monotonic progression in the values of single or multipleitem characteristics and/or context data having ordered data types awayfrom a circumscribed range of values. This pattern of dependence may bediscovered by finding that the p-value of the analysis falls below agiven threshold value. The p-value is the probability that the patternof dependence arose by chance. Therefore our confidence in the discoveryof a pattern of dependence goes up as the p-value goes down. Optionally,we may use a 0.1 p-value threshold so that there is a 90% chance thatthe discovered pattern of dependence is not spurious.

Consistent Patterns of Dependence.

A goal of looking for a consistent pattern of dependence is to be ableto identify cases where a given combination of item characteristicsand/or rating context data used to form the subset of items underanalysis elicit a consistent response from the user. An example of thispattern of preference include one where a user usually dislikes wineshaving a barnyard aroma. Informally described, a consistent pattern ofdependence is a case where the user's ratings for a subset of items tendto cluster around a single value. In such cases, the item characteristicand/or context data values used in the partitioning process to form theitem subset characterize the preference. For example, when looking at asubset of selected white wines consisting of only those tasted duringthe winter months, finding that this partitioning yielded consistentlymediocre ratings, would characterize a consistent pattern of dependence.In other words, the user is apparently not crazy about white winesduring the winter. More formally described, a consistent pattern ofdependence may be manifested by finding that ratings evidence a degreeof statistical dispersion, e.g. standard deviation or mean absolutedeviation, sufficiently low so as to be taken as effectively constant.This pattern of dependence may be discovered by finding that the measureof statistical dispersion of ratings falls below a given thresholdvalue. The smaller the degree of statistical dispersion, then thegreater confidence that the ratings are effectively constant.

Polarizing Patterns of Dependence.

One may look for a polarizing pattern of dependence in order to be ableto identify cases where a combination of item characteristics and/orrating context results in one type of rating dependence being found butsituations outside of that combination results in a different type ofrating dependence being found or no pattern of rating dependence beingfound. Of specific interest are instances of polarizing dependence thatare manifested by finding a consistent pattern of rating dependence inconjunction with no defined pattern of rating dependence. An example ofthis is demonstrated where the user usually dislikes sweet wines but hasa range of opinions, i.e. an undefined pattern of rating dependence, fornon-sweet wines. Finding such a polarizing pattern of dependence entailsdescribing the boundaries within which appeal is defined. Informallydescribed, such a polarizing pattern of dependence may occupy the groundbetween a contrasting pattern of dependence and a consistent pattern ofdependence. As with a contrasting pattern of dependence, the system mayconsider a range of ratings within the subset of items. However, therelationship is not defined over the entire range of values taken on bythe set of item information defining that pattern of dependence.However, like the consistent pattern of dependence, the ratings aredefined and effectively constant. However this constancy only existswithin a certain range of values taken on by the set of itemcharacteristics defining that pattern of dependence and not across theentire subset of wines. More formally described: (i) for itemcharacteristics and/or context data having quantitative or ordinal datatypes, such a polarizing pattern of dependence may be found when athreshold can be found for the data values defining the relation; and(ii) for item characteristics and/or context data having categoricaldata types a polarizing pattern of dependence is found when a triggervalue can be found for the data defining the relation. In the case ofquantitative or ordinal data, the ratings of wines havingcharacteristics values to one side of the threshold are effectivelyconstant and the ratings of the remaining wines are not constant. In thecase of categorical data, the ratings of wines having characteristicvalues equal to that of the trigger value are effectively constant andthe ratings of the remaining wines are not constant. In cases where theitem characteristics and/or context data have mixed data types thethreshold and trigger conditions are separately applied to each itemcharacteristic and/or context datum and the wines that satisfy both ofthem may be seen to have effectively constant ratings while theremaining ones do not. Determining when ratings are effectively constantis done by finding a sufficiently low degree of statistical dispersionas, for instance, may be done to identify a consistent pattern ofdependence. This pattern of dependence may be discovered by finding themeasure of statistical dispersion of the ratings for wines satisfyingthe threshold and/or trigger criteria falling below a given thresholdvalue and that the statistical dispersion of the ratings for theremaining wines lie above another given threshold value. The smaller thedegree of statistical dispersion in the former, then the greater theconfidence that the ratings are effectively constant. The larger thedegree of statistical dispersion in the latter the greater theconfidence that the ratings are undefined.

The preceding describes the primary form of polarizing preference soughtout by this analysis. In full generality, the polarizing pattern ofdependence can be described as a circumstance where there is a certainvalue(s) for an item characteristic(s) and/or context data that servesto divide the subset of wines into two parts: a part where one specificpattern of dependence is recognized and a part where another or norecognizable pattern of dependence is found. The example described aboveembodies the case of a consistent pattern of preference paired with nopattern of preference. Other possibilities include a contrasting patternof preference paired with no pattern of preference and a consistentpattern of preference paired with a contrasting pattern of preference.

Example of Analysis Based on Class Data Types

While rating dependency patterns may be sought as a function of anyarbitrary collection of classes, particularly useful results may beobtained when such classes are restricted to having defined hierarchicalrelationships. The class hierarchy used may be all, or a subset, of oneconstructed for all items or a selection of items, e.g. the hierarchyconstructed on a portion of the red wine style base classes shown inFIG. 7. A pre-specified hierarchy may be used and/or one contingentlyconstructed at the time of analysis on the basis of item characteristicsand/or user context data. One may analyze the rating dependence patternsof items assigned to a given class and consider only that class and theancestors to that class as potential data against which ratingdependence is sought. That is, take as drivers of the rating dependencepatterns either: (i) the class under consideration as a whole; or (ii)the items directly assigned to the class and the items that are alsomembers of the lower level classes that combine the form that class. Aswas done with quantitative and ordinal traits, contrasting preferenceacross classes may be assessed by ordered logit regression. Similarly,as in its application to the analysis of other types of categoricaldata, the regression here may weight the data by the similarity of theitems to the class under analysis. A regression is performed on subsetsof the class members according to each of the multiple ways they canconstitute the class under consideration.

In one embodiment, e.g. where higher level classes are formed by thepairwise merger of lower level classes, four analyses may be performed:all three class components are compared against each other at once, thetwo immediate sub-classes are compared to each other, and the subset ofdirectly assigned items is separately compared against each of theimmediate sub-classes of items. The sign and value of the parametersreturned by the regression may be interpreted to determine the directionand relative strength of preference. The statistical significance of theregression may be determined by likelihood ratio test statistics. Acontrasting preference may be diagnosed if there is sufficientstatistical significance. Consistent preference may be assessed usingall items comprising the subject class. This determination may be madeby measuring homogeneity in the ratings, such as can be derived from theclass similarity measures and the ratings. This measure indicates howclosely the ratings tend to cluster around a predominant value and howclosely similar the rated items are to the class. A sufficiently highhomogeneity in ratings indicates that the class members are effectivelyequally preferred and thus well identified with the class. A thresholdvalue is used to denote homogeneity sufficiently high to indicateconsistent preference for the class. The homogeneity measure may be anysuitable measure.

A polarizing preference of the consistent/no pattern form may beassessed in three combinations of the subsets of items that may comprisethe class: the subset of items directly assigned to the class versuseach of the two immediate sub-classes of the subject class and these twosub-classes against each other. One way to detect the primary form ofpolarizing preference is to compare the ratings homogeneity of eachsubset of items. A polarizing preference is identified when one of thesesubsets has homogeneous ratings and the other does not. The latterdetermination is made when the homogeneity of the former meets orexceeds a threshold, and the homogeneity of the latter is equal to orless than a lower threshold. Other methods have been used to make thisdetermination but their description was deferred in favor of thissimpler technique.

An example of analysis according to class descriptors is portrayed byFIG. 10 where the hierarchy corresponding to the classes associated withthe rated wines is depicted along with other information. In order tosimplify this presentation the class assignments of rated wines 2, 4, 5,7, 15 and 19 were altered. Normally they would be assigned to classes athigher levels of the hierarchy but they were instead assigned to thebase classes to which they were the most similar and their similarityvalues were adjusted accordingly. If this were not done then the diagramwould show these wines and their ratings attached to various levels ofthe hierarchy. In this sample data set, the wines and ratings typify aperson who loves plush, fruit forward, new world red wines but hatesastringency. Nineteen wines were rated and their numbers and ratings runalong the bottom margin of the diagram. The base classes to which thesewines were assigned run in a row above them and are identified by theletters A through P. Vertical lines indicate the assignment of ratedwines to their classes and their similarity to them depicted by asterisksuperscripts—no asterisk reflects a similarity value that equates to“most similar”, one asterisk reflects a similarity value that equates to“pretty similar” and two asterisks reflects a similarity value thatequates to “somewhat similar ” The composition of the higher levelclasses is depicted at each hierarchy level by listing the letters foreach contained base class. These letters also serve as the class traitname. Thus the top of the diagram shows all of the letters together inone class and the bottom of the diagram shows single letters with eachbase class.

In addition to the class composition, each hierarchy level in FIG. 10shows in parentheses the class rating and rating homogeneity. Forclarity the homogeneity value was multiplied by ten and rounded to asingle digit, e.g. a homogeneity of 1.0 corresponds to 10 in thediagram. Finally, the ratings and homogeneities of the base classes areshown vertically oriented, parenthetical labels below them. Tocompensate for changing the class assignments, the class similaritylevels at the base class level were carried through to all of the ratinghomogeneity calculations instead of using the similarity valuesappropriate to each level.

Analysis begins at the top level of FIG. 10, where a strong contrastingpreference is found to favor the left class subset (A, B, . . . , J)over the right class subset (K, L, . . . , P). The left branch of thehierarchy is rated as Great, albeit with not much rating homogeneity,and the right branch is rated Bad with a high rating homogeneity. Adescription of the right class subset would reflect that the subsetcomprises nearly entirely Old World wines, modest in fruit and that theastringent wines of the world are concentrated within it. A descriptionof the left class subset would reflect that the subset comprisesprimarily New World wines, bountiful in fruit and largely lacking anastringent character. Prose generated on the basis of these descriptionswould match the stated preferences actually underlying this data set.This prose would more accurately describe what is not preferred thanwhat is preferred since the rating homogeneity of the left branch classis lower than that of the right branch class. The rating homogeneityvalues (5 and 9) for these two subsets fails to satisfy the conditionsfor finding a polarizing preference, but if it did, its diagnosis wouldbe preempted by the higher salience of the contrasting preference foundfor the same subsets. Because the rating homogeneity is below 7 it isalso clear that there is no consistent preference for the classrepresenting the combination of these classes.

The classes comprising the right branch of this hierarchy all showstrong evidence of consistent preferences against their classes. Thesituation is mixed for the classes comprising the left branch of thehierarchy. The six classes that contained wines 2 or 7 generally hadmiddle to low values of rating homogeneity. That prevented findingconsistent preferences in those classes, although in two of them therewere trivial cases of contrasting preference involving only two wines.The four classes that didn't contain wines 2 and 7 showed consistentpreferences because of their high ratings homogeneity.

Assembly of Preference Models.

Preference models may be assembled from each of the patterns ofpreference, i.e. patterns of rating dependence, discovered during theanalysis of the subsets of selected items. In some embodiments, theassembly of preference model may include any or all of the followingsteps: (i) identify a pattern of dependence that was discovered; (ii)identify the types of item information defining the pattern ofdependence; (iii) capture how the analysis method characterized thepattern of dependence (e.g., p-value, rating dispersion, etc.); (iv)identify the values and types of item characteristics and rating contextdata that were used to define the subset of selected wines that wereanalyzed; and (v) identify the values and types of item characteristicsand/or context data that were used to select from all of the items thatwere rated by the user to create the preference profile.

Other types of information about the pattern of dependence that may beneeded by subsequent stages of processing can be added to thiscollection.

Assembly of Preference Profiles from Preference Models.

The stage comprising the discovery of preference models can return of avariety of results. The preference models will have a variety of ratingdependence patterns that are discovered with varied degrees of modelfit, explainability and consequentiality. These preference models willalso vary as to the number of simultaneously analyzed types of iteminformation and will encompass subsets containing a variety of differentselected wines. Only those models whose fitness metrics indicate that apreference pattern has been identified with sufficient certainty areused for preference profiles.

It may be desired to generate multiple preference profiles for aconsumer having a range in the generality with which the consumerdescribes drivers of preferences. For example, a person may find it moreuseful to have a short, simple, low specificity explanation of hisdrivers of preferences, even if the short description does not have highcollective coverage, informativeness, explainability andconsequentiality, while also having low specificity and multiplicity.Such a preference profile can be created by constraining the assembly ofpreference models to be a subset of those items that cover all of theselected items. On the other hand, another person may desire a long,specific, complex explanation of their drivers of preferences, even ifit has high collective multiplicity. Such a preference profile can becreated by constraining the assembly of preference models to be a set ofthose that cover most or all of the selected items. It may be desirableto generate a series of preference profiles that cover the range ofpreference descriptions between these two extremes so that the user hasthe option to learn their preferences in as much detail as they desire.

For the purpose of the discussion of the previous paragraph, coverage isa measure of the fraction of the selected items that appear in at leastone of the partitions of the assembled preference models. Uniqueness isa measure of the fraction of the selected items that appear in no morethan one of the partitions of the assembled preference models. Theinformativeness of a preference model proceeds from most to least withthe following ordering of their underlying pattern of dependence:trending contrasting, focal contrasting, consistent and polarizing.Multiplicity is the total number of preference models comprising thepreference profile. Consequentiality applies to item characteristics andcontext data and describes cumulative empirical probability ofencountering the range of values associated with the subset of itemsassociated with the preference model in the user's world. If thatprobability is high then the model is highly consequential.

Changing Preference Profiles with the Addition of New Ratings

Several approaches may be taken with respect to changing a user'spreference profile as the user adds item ratings to the database. Oneapproach is to generate the user's profile anew after the user updatestheir rating history with one or more item ratings. Another approach isto delay generating the user's profile anew until some criteria is met,e.g. when a minimum number of items rated. A third approach is to adoptthe less computationally intensive method of updating only the profilemodels without partitioning the rated items and discovering preferencemodels anew. The first part of this third approach, called updating,requires identifying the preference models associated with the newlyrated items. That is, going through the item characteristics and ratingcontext values used to create the subsets of items associated with thepreference models and determining whether the item characteristics andcontext data for the newly rated item qualifies it for inclusion in thesubset. The identified preference models are updated by analyzing thedata set comprised of the previous items and the newly rated item. Theupdated results and performance metrics are passed along to the affectedpreference profiles and the human readable portrayal of the profiles areupdated with the new results. Limits may be imposed on the use of theupdating method. For instance, as in the second approach, a profileupdate may be overridden and a profile generated anew if certaincriteria are met, e.g. a given number of newly rated wines since thelast profile generation. Another reason to generate a profile anew is ifthe performance metrics of the updated models sufficiently degrade sincethis is a possible sign that the items need to be partitioned anew.

Improving Preference Profiles and/or Individual Preference Models bySuggesting Additional Items to Rate

The process of suggestion generation may be illustrated using apreference model characterized by a consistent preference ratingdependency pattern. This pattern describes a state wherein items wereassigned a narrow range of ratings by the user. Among the metrics andflags that the system may consider include a measure of the effectivenumber of items supporting the finding (experience score), a measure ofthe spread of the item ratings around the model prediction (model fit) ameasure of the sureness with which the items identify with the itemdescription (subset similarity) and a flag (outlier indicatorindicating) which of the items can be considered to have an outlyingrating. In order for a preference model construction, the system mayrequire sufficient experience score, model fit and subset similarity.This last proviso can apply to item subsets created on the basis of itembeing members of specific classes wherein the assignment of an item to aclass is accompanied by a strength of association measure, i.e. theidentification of the item to the class. Preference profiles also mayrequire the identification of items whose ratings make them outlierswith respect to the preference model.

Each of the above metrics and flags can be used as a basis on which togenerate item suggestions. For example, in the context of an experiencescore, the system may determine a user's experience score as a functionof the number of rated items in the preference model. This may be a rawnumber equal to the number of rated items, a percentage of a targetnumber of rated items, or some other function. If the experience scorefor the items in the subset associated with the preference model isbelow a threshold, then the system may determine that strength of thismodel can be bolstered if the user is directed to experience and ratemore items that fit the item description associated with the preferencemodel. The system may then access the database of candidate items andidentify an item that, if rated, would improve the user's experiencescore for that preference model. It may then suggest that the useexperience and rate that item. This will increase the number ofeffective items associated with the preference model if there is a belowthreshold or marginal value in the subset similarity of the rated itemswith the item subset description.

By having the user experience and rate items that match the itemdescription used to construct the item subset, the system can expect toincrease the similarity of the items to the definition of the subset forthat preference model. If it is assumed that a user will rate similarlyidentified items in a similar way, then we can expect to improve themodel fit by suggesting items fitting the item subset description. Inthis instance, a more sophisticated approach is possible wherein adeeper pattern of rating dependence can be sought, and the results used,to create a more targeted item description from which to suggest itemsto try. Similarly, when outlying item ratings are flagged, it ispossible to determine whether such ratings are flukes by creating itemdescriptions more closely identified with the flagged items than theitem description used by the model. The ratings for items suggested onthe basis of such a narrower item description may or may not beconsistent with the outlying rating and so indicate whether chance orother reason was the cause of the outlying rating or an insufficientlyspecific preference model.

The following describes other ways in which the preference profile canbe improved by suggesting additional items to rate. A contrastingpattern of rating dependence is characterized by specific forms ofrating trends as a function of item characteristics or by a contingentdifference in ratings as a function of categorical item characteristics.The methods used to detect a contrasting pattern of rating dependencemay include any of a variety of regression, contingency and statisticaltesting techniques. Therefore, their metrics may include, among others,measures of association, leverage and hypothesis exclusionprobabilities. For example, if a preference model of the contrastingtype indicates that a range of item information values exerts highleverage in a regression analysis, then an item description can begenerated that corresponds to the regime of item characteristic valuesfor which rating data are lacking. Obtaining the ratings for suggesteditems that satisfy such a description may reduce leverage in theregression analysis and so increase the accuracy of its findings. Also,if a contingency test reveals that cells associated with certain iteminformation values are underpopulated relative to other cells, thensuggestions can be generated on the basis of item descriptionspertaining specifically to such cells. Having the ratings for such itemswill increase the statistical confidence in the conclusions reached by acontingency test and so bolster the preference model. Suggestions can beused to deal with a case where there is no support for a univariatedependence of ratings on item information but for which the range invalues for other variates is too small to support a multivariateanalysis. Suggestions can be generated on the basis of a description ofitems possessing a wider range of values than possessed by the variatesthat currently span too small of a range of values.

As the preceding illustrates, the methods used for suggestion generationmay depend on the preference model and its performance metrics. Thesuggestion generator may be triggered by preference descriptions whoseperformance metrics are indicative of sub-par or marginally acceptablevalues. The specific details of such methods may depend upon identifyingthe means by which item ratings and item information interact to giverise to “better” or “worse” values of the performance metrics andworking backwards to determine the values of item information that arerequired in order to hope to see those metrics improved. This processmay depend upon the particular implementation of the recommendationsystem.

Translation of Preference Profiles into Prose Preference Descriptions.

The system may report some or all of a person's preference profile byway of prose. To do this, a series of rules would be used to generatethe prose that reflect the patterns of preference and translate thoseresults into consumer-understandable phrases.

FIG. 12 depicts a block diagram of an example of internal hardware thatmay be used to contain or implement program instructions, such as theprocess steps discussed above in reference to FIG. 2, according toembodiments. A bus 600 serves as an information highway interconnectingthe other illustrated components of the hardware. CPU 605 is the centralprocessing unit of the system, performing calculations and logicoperations required to execute a program. CPU 605, alone or inconjunction with one or more of the other elements disclosed in FIG. 12,is an example of a processing device, computing device or processor assuch terms are used within this disclosure. Read only memory (ROM) 610and random access memory (RAM) 615 constitute examples of memory devicesor processor-readable storage media.

A controller 620 interfaces with one or more optional tangible,computer-readable memory devices 625 to the system bus 600. These memorydevices 625 may include, for example, an external or internal DVD drive,a CD ROM drive, a hard drive, flash memory, a USB drive or the like. Asindicated previously, these various drives and controllers are optionaldevices.

Program instructions, software or interactive modules for providing theinterface and performing any querying or analysis associated with one ormore data sets may be stored in the ROM 610 and/or the RAM 615.Optionally, the program instructions may be stored on a tangiblecomputer readable medium such as a compact disk, a digital disk, flashmemory, a memory card, a USB drive, an optical disc storage medium, suchas a Blu-ray™ disc, and/or other recording medium.

An optional display interface 640 may permit information from the bus600 to be displayed on the display 645 in audio, visual, graphic oralphanumeric format. Communication with external devices, such as aprinting device, may occur using various communication ports 650. Anexemplary communication port 650 may be attached to a communicationsnetwork, such as the Internet or an intranet.

The hardware may also include an interface 655 which allows for receiptof data from input devices such as a keyboard 660 or other input device665 such as a mouse, a joystick, a touch screen, a remote control, apointing device, a video input device and/or an audio input device.

The above-disclosed features and functions, as well as alternatives, maybe combined into many other different systems or applications. Variouspresently unforeseen or unanticipated alternatives, modifications,variations or improvements may be made by those skilled in the art, eachof which is also intended to be encompassed by the disclosedembodiments.

1. A method of generating a recommendation for a consumable item,comprising: by one or more processors, causing one or more electronicdevices to: output a user interface, and, receive, via the userinterface, a rating set comprising a person's ratings for each of aplurality of rated consumable items; by one or more processors,developing a preference model for the person based on the rating set,wherein the preference model represents associations between theperson's ratings of consumable items and a plurality of consumable itemtraits, and wherein developing the preference model comprises: accessinga database to retrieve trait values of sensory traits that areassociated with the rated consumable items, identifying at least oneassociation between at least one trait value for the rated consumableitems and at least one of the received ratings, including the at leastone association in the preference model, and saving the preference modelto a computer-readable memory; and by one or more processors: receivinga recommendation request for the person or for a group to which theperson belongs, accessing a user profile for the person, wherein theuser profile comprises the preference model, accessing an item databasecomprising trait values for a plurality of candidate consumable items,identifying a candidate consumable item in the item database havingtrait values whose properties correspond to traits for which the personhas exhibited a positive preference, and causing an electronic device tooutput an identification of the identified candidate consumable item. 2.The method of claim 1, wherein identifying the candidate consumable itemalso comprises constraining the plurality of candidate consumable itemsto those having one or more characteristics that satisfy a user-suppliedcriterion.
 3. The method of claim 2, wherein the user-supplied criterioncomprises a color, a price range, a maximum price or a type.
 4. Themethod of claim 1, wherein identifying the candidate consumable itemalso comprises constraining the plurality of candidate consumable itemsto those having one or more characteristics that satisfy a situationalcriterion.
 5. The method of claim 4, wherein the situational criterioncomprises available inventory at a retailer.
 6. The method of claim 1,wherein identifying the candidate consumable item also comprisesomitting any candidate consumable item items having one or morecharacteristics for which the person has exhibited a negativepreference.
 7. The method of claim 1, wherein the trait values of theidentified candidate consumable item are associated with at least one ofthe following senses: taste, smell and touch.
 8. The method of claim 1,further comprising: generating a predicted rating for the identifiedcandidate consumable item; and causing the electronic device to outputthe predicted rating with the identification of the identified candidateconsumable item.
 9. The method of claim 1, further comprising: receivinga context for the person's experience with one or more of the ratedconsumable items; and identifying the candidate consumable itemcomprises identifying an item having characteristics consistent withpreferences of the person under conditions specified by a contextualcriterion that corresponds to the context.
 10. The method of claim 1,further comprising: accessing the item database to identify at least oneadditional consumable item that exhibits one or more characteristicsthat, if the additional consumable item is rated by the person, willimprove the preference model or a preference profile for the person; andgenerating a suggestion that the person rate the additional consumableitem.
 11. A system for generating a recommendation for a consumableitem, comprising: one or more processors: a database of trait values fora plurality of candidate consumable items; a computer-readable memorystoring a user profile for a person; and a computer-readable memorycontaining programming instructions that are configured to, whenexecuted, cause one or more of the processors to: receive, for theperson, ratings for each of a plurality of rated consumable items,access an item database to retrieve trait values of sensory traits thatare associated with the rated consumable items, develop a preferencemodel for the first person based on the rating set, wherein thepreference model represents associations between the person's ratings ofconsumable items and a plurality of consumable item traits, and whereindeveloping the preference model comprises: identifying at least oneassociation between at least one of the trait values for the ratedconsumable items and at least one of the received ratings; and includingthe at least one association in the preference model, save thepreference model to the user profile, receive a recommendation requestwherein the recommendation request comprises an identification of theperson or of a group to which the person belongs, access the itemdatabase and the user profile for the first person, to identify acandidate consumable item in the item database having trait values whoseproperties correspond to traits for which the person has exhibited apositive preference, and cause an electronic device to output anidentification of the identified candidate consumable item.
 12. Thesystem of claim 11, wherein the instructions to identify a candidateconsumable item also comprise instructions to constrain the candidateconsumable items to those having one or more characteristics thatsatisfy a user-supplied criterion.
 13. The system of claim 12, whereinthe user-supplied criterion comprises a color, a price range, a maximumprice or a type.
 14. The system of claim 11, wherein the instructions toidentify a candidate consumable item also comprise instructions toconstrain the candidate consumable items to those having one or morecharacteristics that satisfy a situational criterion.
 15. The system ofclaim 14, wherein the situational criterion comprises availableinventory at a retailer.
 16. The system of claim 11, whereininstructions to identify the candidate consumable item also compriseinstructions to omit any candidate consumable item items having one ormore characteristics for which the person has exhibited a negativepreference.
 17. The system of claim 11, wherein the trait values of theidentified candidate consumable item comprise values of traits that areassociated with at least one of the following senses: taste, smell andtouch.
 18. The system of claim 11, further comprising instructions to:generate a predicted rating for the identified candidate consumableitem; and cause the electronic device to output the predicted ratingwith the identification of the identified candidate consumable item. 19.The system of claim 11, further comprising instructions to: receive acontext for the person's experience with one or more of the ratedconsumable items; and identify the candidate consumable item comprisesidentifying an item having characteristics consistent with preferencesof the person under conditions specified by a contextual criterion thatcorresponds to the context.
 20. The system of claim 11, furthercomprising instructions to: access the item database to identify atleast one additional consumable item that exhibits one or morecharacteristics that, if the additional consumable item is rated by theperson, will improve the preference model or a preference profile forthe person; and generate a suggestion that the person rate theadditional consumable item.